home *** CD-ROM | disk | FTP | other *** search
/ Software 2000 / Software 2000 Volume 1 (Disc 1 of 2).iso / aga / aga167.dms / in.adf / AGA-SOURCECODE / AGA.Docfile < prev    next >
Encoding:
Text File  |  1994-03-01  |  4.6 KB  |  162 lines

  1.  
  2.  
  3.  
  4.  
  5.     Welcome to probably the only
  6.  
  7.          _______       ________      _______
  8.         //      \     |                  //      \
  9.            //     \    |           //        \
  10.           //      \   |         _    //          \
  11.         _//------------\_ |_______| _//------------\_
  12.  
  13.     Docfile in exsistance.
  14.  
  15.  
  16.   This docfile has been split up into different sections :-
  17.  
  18.     A - Screens
  19.     B - Colour Palette Setup
  20.     C - Hardware Sprite
  21.     D - Quater Pixel Scrolling
  22.  
  23.   Although after reading through this file and studying the included
  24.  source code you will be able to program the  AGA  chipset there are
  25.  probably a fews things missing, but its nothing I needed to know.
  26.  
  27.  
  28.  
  29. Section  (A)    Screens
  30. ~~~~~~~~~~~~~~~~~~~~~~~
  31.   The new chipset enables you to have eight bitplanes instead of the
  32.  old six which gives you screens with upto 256 colours or 262,144 in
  33.  HAM8. Another bonus  of eight  bitplane is  that the Dual Playfield
  34.  mode now can have two 16 colour screens instead of 8.
  35.  
  36.  Enabling the screen modes :-
  37.  
  38.       Setting the register $dff100 (Bplcon0) to the following values
  39.  will give you the enhance screens.
  40.  
  41.     $7200    -   Selects 7 bitplanes
  42.  
  43.     $0210    -   Selects 8 bitplanes
  44.  
  45.     $0a10    -   Selects 8 bitplanes with HAM8
  46.  
  47.   Also the register $dff1fc (Fmode) must be set to $0003.
  48.  
  49.  
  50.  Modulos
  51.  ~~~~~~~
  52.   The modulo values for an eight bitplane interleaved screen are what
  53.  you would  expect 40*7, but for some  reason ( and this goes for all
  54.  number of planes) 8 has to be  taken off to give you 40*7-8. This is
  55.  the same for both bpl1mod and bpl2mod.
  56.  
  57.  
  58. Section  (B)    Colours
  59. ~~~~~~~~~~~~~~~~~~~~~~~
  60.  
  61.   In the old chipset a colour value ranged from 0-4096 giving you a 12
  62.  bit colour value ie. $fff is white. Now the new  chipset can select a
  63.  colour from 16,777,216 which means the  colour value is 24 bit.
  64.  
  65.   One problem we have is that the amiga has  only 32 colour  registers
  66.  and we sometimes need to set upto 256  different colours, so does the
  67.  new chipset have 256 colour registers ? NO. What the chips do is they
  68.  split the 256 colours up, firstly they are separated into eight banks
  69.  of 32 colours then split again into two  word values ie. colour value
  70.  $fefefe which is almost 24 bit  white is split to give $fff and $eee.
  71.  What you have now is two sets of 8 * 32 colour  banks one for the top
  72.  4 bits of each RGB component and one for the bottom 4 bits.
  73.  
  74.   To select a bank of 32 colours to set we use $dff106 (bplcon3) this
  75.  when set to a certain value will enable you to change a certain bank
  76.  of colours or bits. The top 4 bits of your  colour  have to set this
  77.  register to one of  eight values ( $0c40, $2c40, $4c40, $6c40, $8c40
  78.  $ac40, $cc40 and finally $ec40). The  bottom 4 bits are accessed the
  79.  same way except the $c40 is changed to $e40.
  80.  
  81.  
  82. Section  (C)    Sprites
  83. ~~~~~~~~~~~~~~~~~~~~~~~
  84.  
  85.   One of the  enhancements  which was long overdue was bigger sprite,
  86.  these can now be upto 64 pixels wide ( but still only 8 and the same
  87.  colour selection applies ie 4 or 16 colour attached).
  88.  
  89.   To enable the extra wide sprites the  register $dff1fc (Fmode) must
  90.  be set to $000c, then the other thing to notice is that the  control
  91.  words have moved slightly :-
  92.  
  93.     Old way    Control Word1  Control Word2
  94.  
  95.                 V       V
  96.                 |       |
  97.                 V       V
  98.  
  99.    MySpriteData  dc.w      $9c3c,$cc00
  100.  
  101.  
  102.     New way       Control Word1
  103.  
  104.                 V
  105.                 |
  106.                 V
  107.  
  108.    MySpriteData  dc.w      $9c3c,$0000,$0000,$0000
  109.            dc.w      $cc00,$0000,$0000,$0000
  110.  
  111.                 ^
  112.                 |
  113.                 ^
  114.  
  115.               Control Word2
  116.  
  117.  
  118. Section  (C)    Scrolling
  119. ~~~~~~~~~~~~~~~~~~~~~~~~~
  120.  
  121.   The new chipsets hardware scroll feature has been  changed so that
  122.  you can now move in quarter increments, this can give you very nice
  123.  raster scrolls.
  124.  
  125.   The register used  is still  $dff102 (bplcon1), but extra bits are
  126.  now used. For example :-
  127.  
  128.    To scroll all even planes we use bits 0-3 for normal scroll.
  129.  
  130.    For quarter scroll we use the above bits plus bits 8-9.
  131.  
  132.    Also there is extended scroll to move the screen more than 16 pixels
  133.    these bits are 10-11.
  134.  
  135.   This in total gives you a scroll value from 0-255 although you only
  136.   move 64 true pixels the rest are just quarter steps.
  137.  
  138.  
  139. Extra Information
  140. ~~~~~~~~~~~~~~~~~
  141.  
  142.     All graphical information on the A1200 is fussy about the
  143.  boundary its placed on ie word or long word. The  easiest way to
  144.  get around this is to use a section statement before each incbin
  145.  you use.
  146.  
  147.  
  148.      All the above things mentioned have an example file included
  149.  on this  disc for  you to mess about with, they were all written
  150.  using Hisoft Devpac v3.04.
  151.  
  152.     Hope this helps you out and gets more A1200 only games on
  153.     the scene.
  154.  
  155.  
  156.           / /
  157.          / /
  158.         / /
  159.     \ \/ /
  160.      \/\/        Amiga Forever !!!!!
  161.  
  162.